home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
os2
/
pvm34b3.zip
/
pvm34b3
/
pvm3
/
src
/
Makefile.aimk
< prev
next >
Wrap
Makefile
|
1997-07-22
|
10KB
|
370 lines
#
# $Id: Makefile.aimk,v 1.25 1997/06/26 21:19:22 pvmsrc Exp $
#
# Generic Makefile body to be concatenated to config header.
#
# Imports:
# PVM_ARCH = the official pvm-name of your processor
# ARCHCFLAGS = special cc flags
# ARCHDLIB = special libs needed for daemon
# ARCHDOBJ = special objects needed for daemon
# HASRANLIB = 't' or 'f'
#
# Compatibility defines (usually in conf/*.def):
# FDSETPATCH if system includes don't have fd_set stuff
# HASERRORVARS if errno, sys_nerr, sys_errlist already declared
# HASSTDLIB if system has stdlib.h
# NEEDENDIAN to include <endian.h>
# NEEDMENDIAN to include <machine/endian.h>
# NOGETDTBLSIZ if system doesn't have getdtablesize()
# NOREXEC if system doesn't have rexec()
# NOSOCKOPT if system doesn't have setsockopt() / it doesn't work
# NOSTRCASE if system doesn't have strcasecmp, strncasecmp
# NOTMPNAM if system doesn't have tmpnam() or it's hosed
# NOUNIXDOM to disable use of Unix domain sockets
# NOWAIT3 if system doesn't have wait3()
# NOWAITPID if system doesn't have waitpid() either
# RSHCOMMAND= for rsh command other than "/usr/ucb/rsh"
# SHAREDTMP if /tmp is shared between machines (yecch)
# SOCKADHASLEN if struct sockaddr has an sa_len field
# SYSVBFUNC if system uses memcpy() instead of bcopy(), etc.
# SYSVSIGNAL if system has sysV signal handling
# SYSVSTR if system uses strchr() instead of index()
# UDPMAXLEN= for alternate max udp packet size
# NEEDSSELECTH if you need to include select.h to get fd_set (IBMs)
# SOCKLENISUINT if socket parameter is unsigned int,
# generally -> recvfrom() accept() getsockname()
# remove flag for AIX 4.1 compiler complaints...
#
# Options defines:
# CLUMP_ALLOC allocates several data structures in big chunks
# MCHECKSUM to enable crc checksums on messages
# RSHNPLL= for number of parallel rsh startups (default is 5)
# RSHTIMEOUT= for rsh timeout other than default (60 sec)
# STATISTICS to enable collection of statistics in pvmd
# TIMESTAMPLOG to enable timestamps in pvmd log file
# USE_PVM_ALLOC to enable instrumented malloc functs (for pvm debug)
#
SHELL = /bin/sh
PVMDIR = ../..
SDIR = $(PVMDIR)/src
LIBDIR = $(PVMDIR)/lib/$(PVM_ARCH)
#CFLOPTS = -O
CFLOPTS = -g
#OPTIONS = -DCLUMP_ALLOC
#OPTIONS = -DSTATISTICS
#OPTIONS = -p
OPTIONS = -DCLUMP_ALLOC -DSTATISTICS \
-DTIMESTAMPLOG -DSANITY
CFLAGS = $(CFLOPTS) $(OPTIONS) -I$(PVMDIR)/include \
-DARCHCLASS=\"$(PVM_ARCH)\" -DIMA_$(PVM_ARCH) \
$(ARCHCFLAGS)
DOBJ = \
ddpro.o \
host.o \
hoster.o \
imalloc.o \
msgbox.o \
pkt.o \
pmsg.o \
pvmalloc.o \
pvmcruft.o \
pvmd.o \
pvmdpack.o \
pvmdtev.o \
pvmerr.o \
pvmfrag.o \
pvmlog.o \
sdpro.o \
task.o \
tdpro.o \
waitc.o \
pvmregex.o \
regex.o \
global.o
SOCKDOBJ = \
pvmdabuf.o \
pvmdunix.o
SHMEMDOBJ = \
$(AMEMOBJ) \
nmdclass.o \
pvmdshmem.o \
pvmshmem.o
MPPDOBJ = \
mppchunkhost.o \
mppmsghost.o \
lmsg.o \
pvmdabuf.o \
pvmdmimd.o \
pvmdunix.o
LOBJ = \
imalloc.o \
tev.o \
lpvmcat.o \
lpvmgen.o \
lpvmpack.o \
lpvmglob.o \
pmsg.o \
pvmalloc.o \
pvmcruft.o \
pvmerr.o \
pvmfrag.o \
waitc.o \
pvmregex.o \
regex.o \
global.o
LPVMSOCK = lpvm.o
SOCKLOBJ = \
pvmdabuf.o
LPVMSHMEM = lpvmshmem.o
SHMEMLOBJ = \
$(AMEMOBJ) \
pvmshmem.o
LPVMMIMD = lpvmmimd.o
MPPLOBJ = \
mppchunknode.o \
mppmsgnode.o \
lmsg.o \
lpvmmpp.o \
pvmdabuf.o
REGEXSRC = \
$(SDIR)/regex/Makefile.in \
$(SDIR)/regex/configure \
$(SDIR)/regex/configure.in \
$(SDIR)/regex/pvmregex.c \
$(SDIR)/regex/regex.c \
$(SDIR)/regex/regex.h
REGEXDIR = ./regex
REGEXCP = \
$(REGEXDIR)/Makefile.in \
$(REGEXDIR)/configure \
$(REGEXDIR)/configure.in \
$(REGEXDIR)/pvmregex.c \
$(REGEXDIR)/regex.c \
$(REGEXDIR)/regex.h
REGEXOPTS = CC=$(CC) \
CFLAGS="$(CFLOPTS) -DREGEX_MALLOC $(ARCHCFLAGS)"
SHMEMTARGETS = $(LIBDIR)/pvmd3-shm \
$(LIBDIR)/lib-shm $(LIBDIR)/libpvm3s.a
MPPTARGETS = $(LIBDIR)/pvmd3-mpp \
$(LIBDIR)/libpvm3.a $(LIBDIR)/libpvm3pe.a
all: pvmd3 libpvm3.a
all-shm: pvmd3-shm lib-shm libpvm3s.a
all-mpp: pvmd3-mpp libpvm3.a libpvm3pe.a
install: $(LIBDIR) $(LIBDIR)/pvmd3 $(LIBDIR)/libpvm3.a
install-shm: $(LIBDIR) $(SHMEMTARGETS)
install-mpp: $(LIBDIR) $(MPPTARGETS)
$(LIBDIR):
- mkdir $(LIBDIR)
$(LIBDIR)/pvmd3: pvmd3
cp pvmd3 $(LIBDIR)
$(LIBDIR)/libpvm3.a: libpvm3.a
cp libpvm3.a $(LIBDIR)
$(LIBDIR)/pvmd3-shm: pvmd3-shm
cp pvmd3 $(LIBDIR)
touch $(LIBDIR)/pvmd3-shm
$(LIBDIR)/lib-shm: lib-shm
cp libpvm3.a $(LIBDIR)
touch $(LIBDIR)/lib-shm
$(LIBDIR)/libpvm3s.a: libpvm3s.a
cp libpvm3s.a $(LIBDIR)/libpvm3s.a
$(LIBDIR)/pvmd3-mpp: pvmd3-mpp
cp pvmd3 $(LIBDIR)
touch $(LIBDIR)/pvmd3-mpp
$(LIBDIR)/libpvm3pe.a: libpvm3pe.a
cp libpvm3pe.a $(LIBDIR)
pvmd3: $(REGEXDIR) $(DOBJ) $(SOCKDOBJ)
$(CC) $(CFLAGS) -o pvmd3 $(DOBJ) $(SOCKDOBJ) $(LOPT) $(ARCHDLIB)
libpvm3.a: $(REGEXDIR) $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ)
rm -f libpvm3.a
$(AR) cr libpvm3.a $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib libpvm3.a ;; esac
pvmd3-shm: $(REGEXDIR) $(DOBJ) $(SHMEMDOBJ)
$(CC) $(CFLAGS) -o pvmd3 $(DOBJ) $(SHMEMDOBJ) $(ARCHDLIB)
touch pvmd3-shm
lib-shm: $(REGEXDIR) $(LOBJ) $(LPVMSHMEM) $(SHMEMLOBJ)
rm -f libpvm3.a
$(AR) cr libpvm3.a $(LOBJ) $(LPVMSHMEM) $(SHMEMLOBJ)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib libpvm3.a ;; esac
touch lib-shm
libpvm3s.a: $(REGEXDIR) $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ)
rm -f libpvm3s.a
$(AR) cr libpvm3s.a $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib libpvm3s.a ;; esac
pvmd3-mpp: $(REGEXDIR) $(DOBJ) $(MPPDOBJ)
$(CC) $(CFLAGS) -o pvmd3 $(DOBJ) $(MPPDOBJ) $(LOPT) $(ARCHDLIB)
touch pvmd3-mpp
libpvm3pe.a: $(REGEXDIR) $(LOBJ) $(LPVMMIMD) $(MPPLOBJ)
rm -f libpvm3pe.a
$(AR) cr libpvm3pe.a $(LOBJ) $(LPVMMIMD) $(MPPLOBJ)
clean: tidy
rm -f pvmd3 libpvm3.a libpvm3s.a libpvm3pe.a
rm -rf $(REGEXDIR)
tidy:
rm -f $(DOBJ) $(SOCKDOBJ) $(SHMEMDOBJ) $(MPPDOBJ) \
$(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) $(LPVMSHMEM) $(SHMEMLOBJ) \
$(LPVMMIMD) $(MPPLOBJ) $(REGEXDIR)/*.o \
pvmd3-shm lib-shm pvmd3-mpp
lint: lintd lintl
lintd:
lint -DARCHCLASS=\"$(PVM_ARCH)\" \
ddpro.c host.c hoster.c imalloc.c pkt.c pmsg.c \
pvmalloc.c pvmcruft.c pvmd.c pvmdtev.c pvmfrag.c pvmlog.c \
task.c tdpro.c waitc.c global.c > Ld
lintl:
lint -I$(PVMDIR)/include \
lpvm.c lpvmshmem.c lpvmmimd.c \
imalloc.c lpvmcat.c lpvmgen.c lpvmpack.c lpvmglob.c \
pvmalloc.c pvmcruft.c pvmerr.c pvmfrag.c tev.c global.c > Ll
amem.o: $(SDIR)/amem.s
$(AS) -o amem.o $(SDIR)/amem.s
ddpro.o: $(SDIR)/ddpro.c
$(CC) $(CFLAGS) -c $(SDIR)/ddpro.c
host.o: $(SDIR)/host.c
$(CC) $(CFLAGS) -c $(SDIR)/host.c
hoster.o: $(SDIR)/hoster.c
$(CC) $(CFLAGS) -c $(SDIR)/hoster.c
imalloc.o: $(SDIR)/imalloc.c
$(CC) $(CFLAGS) -c $(SDIR)/imalloc.c
lmsg.o: $(SDIR)/lmsg.c
$(NODECC) $(CFLAGS) -DIMA_NODE -c $(SDIR)/lmsg.c
lpvm.o: $(SDIR)/lpvm.c
$(CC) $(CFLAGS) -c $(SDIR)/lpvm.c
lpvmshmem.o: $(SDIR)/lpvmshmem.c
$(CC) $(CFLAGS) -c $(SDIR)/lpvmshmem.c
lpvmmimd.o: $(SDIR)/lpvm.c
$(CC) $(CFLAGS) -DIMA_MPP -o lpvmmimd.o -c $(SDIR)/lpvm.c
lpvmmpp.o: $(SDIR)/lpvmmpp.c
$(NODECC) $(CFLAGS) -DIMA_MPP -c $(SDIR)/lpvmmpp.c
lpvmcat.o: $(SDIR)/lpvmcat.c
$(CC) $(CFLAGS) -c $(SDIR)/lpvmcat.c
lpvmgen.o: $(SDIR)/lpvmgen.c
$(CC) $(CFLAGS) -c $(SDIR)/lpvmgen.c
lpvmpack.o: $(SDIR)/lpvmpack.c
$(CC) $(CFLAGS) -c $(SDIR)/lpvmpack.c
lpvmglob.o: $(SDIR)/lpvmglob.c
$(CC) $(CFLAGS) -c $(SDIR)/lpvmglob.c
msgbox.o: $(SDIR)/msgbox.c
$(CC) $(CFLAGS) -c $(SDIR)/msgbox.c
mppchunkhost.o: $(SDIR)/mppchunk.c
$(CC) $(CFLAGS) -c -o mppchunkhost.o $(SDIR)/mppchunk.c
mppchunknode.o: $(SDIR)/mppchunk.c
$(NODECC) $(CFLAGS) -DIMA_NODE -c -o mppchunknode.o $(SDIR)/mppchunk.c
mppmsghost.o: $(SDIR)/mppmsg.c
$(CC) $(CFLAGS) -c -o mppmsghost.o $(SDIR)/mppmsg.c
mppmsgnode.o: $(SDIR)/mppmsg.c
$(NODECC) $(CFLAGS) -DIMA_NODE -c -o mppmsgnode.o $(SDIR)/mppmsg.c
nmdclass.o: $(SDIR)/nmdclass.c
$(CC) $(CFLAGS) -c $(SDIR)/nmdclass.c
pkt.o: $(SDIR)/pkt.c
$(CC) $(CFLAGS) -c $(SDIR)/pkt.c
pmsg.o: $(SDIR)/pmsg.c
$(CC) $(CFLAGS) -c $(SDIR)/pmsg.c
pvmalloc.o: $(SDIR)/pvmalloc.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmalloc.c
pvmcruft.o: $(SDIR)/pvmcruft.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmcruft.c
pvmd.o: $(SDIR)/pvmd.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmd.c
pvmdabuf.o: $(SDIR)/pvmdabuf.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmdabuf.c
pvmdshmem.o: $(SDIR)/pvmdshmem.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmdshmem.c
pvmdmimd.o: pvmdmimd.c
$(CC) $(CFLAGS) -I.. -c pvmdmimd.c
pvmdpack.o: $(SDIR)/pvmdpack.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmdpack.c
pvmdunix.o: $(SDIR)/pvmdunix.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmdunix.c
pvmerr.o: $(SDIR)/pvmerr.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmerr.c
pvmfrag.o: $(SDIR)/pvmfrag.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmfrag.c
pvmlog.o: $(SDIR)/pvmlog.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmlog.c
pvmshmem.o: $(SDIR)/pvmshmem.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmshmem.c
pvmmpp.o: $(SDIR)/pvmmpp.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmmpp.c
sdpro.o: $(SDIR)/sdpro.c
$(CC) $(CFLAGS) -c $(SDIR)/sdpro.c
task.o: $(SDIR)/task.c
$(CC) $(CFLAGS) -c $(SDIR)/task.c
tev.o: $(SDIR)/tev.c
$(CC) $(CFLAGS) -c $(SDIR)/tev.c
tdpro.o: $(SDIR)/tdpro.c
$(CC) $(CFLAGS) -c $(SDIR)/tdpro.c
waitc.o: $(SDIR)/waitc.c
$(CC) $(CFLAGS) -c $(SDIR)/waitc.c
pvmdtev.o: $(SDIR)/pvmdtev.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmdtev.c
global.o: $(SDIR)/global.c
$(CC) $(CFLAGS) -c $(SDIR)/global.c
pvmregex.o: $(REGEXDIR)/pvmregex.o
cp $(REGEXDIR)/pvmregex.o .
regex.o: $(REGEXDIR)/regex.o
cp $(REGEXDIR)/regex.o .
$(REGEXDIR)/pvmregex.o: $(REGEXCP) $(REGEXDIR)/Makefile
cd $(REGEXDIR) ; make $(REGEXOPTS) pvmregex.o
$(REGEXDIR)/regex.o: $(REGEXCP) $(REGEXDIR)/Makefile
cd $(REGEXDIR) ; make $(REGEXOPTS) regex.o
$(REGEXDIR)/Makefile:
cd $(REGEXDIR) ; CC=$(CC) ./configure
$(REGEXCP): $(REGEXSRC)
cp $(REGEXSRC) $(REGEXDIR)
$(REGEXDIR):
@- mkdir $(REGEXDIR)
#
# Source File Dependencies
#
include $(PVMDEPPATH)$(SDIR)/pvmdep